package main.java.sq;

import java.util.List;

public class Combate {
	private Casilla casilla;
	public Casilla getCasilla() {
		return casilla;
	}

	public void setCasilla(Casilla casilla) {
		this.casilla = casilla;
	}

	public List<Nave> getDefensa() {
		return defensa;
	}

	public void setDefensa(List<Nave> defensa) {
		this.defensa = defensa;
	}

	public List<Nave> getAtaque() {
		return ataque;
	}

	public void setAtaque(List<Nave> ataque) {
		this.ataque = ataque;
	}

	private List<Nave> defensa;
	private List<Nave> ataque;
	
	public Combate(Casilla casilla, List<Nave> defensa, List<Nave> ataque){
		this.casilla=casilla;
		this.defensa=defensa;
		this.ataque=ataque;
	}
	
	public int combate(){
		int res=0;
		int danyoA=0;
		for(int i=0;i<ataque.size();i++){
			danyoA=danyoA+ataque.get(i).getDanyo();
			
		}
		int danyoD=0;
		for(int i=0; i<defensa.size();i++){
			danyoD=danyoD+defensa.get(i).getDanyo();
		}
		
		if(danyoA>danyoD){
			if(tieneAlien(defensa) || !casilla.getPlanetaOculto()){
				res=4;
			}else{
				if(danyoA>=danyoD*2){
					res=3;
					
				}else{
					res=2;
				}
			}
		}else{
			if(danyoD>danyoA*2){
				res=1;
			}else{
				res=0;
			}
		}
		return res;
	}
	
	public boolean tieneAlien(List<Nave> nave){
		boolean tieneAlien=false;
		for(int i=0;i<nave.size();i++){
			if(nave.get(i).getNave().equals(TipoNave.Pirata)){
				tieneAlien=true;
				break;
			}
		}
		return tieneAlien;
	}
	

}
